package com.eastfair.certificate.service;

import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.boot.service.SuperService;
import com.eastfair.certificate.dto.CarRecordDTO;
import com.eastfair.certificate.entity.CarRecord;
import com.eastfair.certificate.entity.CertificateUser;
import com.eastfair.certificate.vo.CarRecordVO;
import com.eastfair.certificate.vo.CertificateUserVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 车辆出入证信息
 * </p>
 *
 * @author ligang
 * @date 2023-01-31
 */
public interface CarRecordService extends SuperCacheService<CarRecord> {
    /**
     * do转vo
     *
     * @param model
     */
    CarRecordVO doToVo(CarRecord model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<CarRecordVO> doToVos(List<CarRecord> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<CarRecord> list(CarRecordDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<CarRecord> listOfCache(CarRecordDTO modelDTO, List<Long> ids);


    /**
     * 查询车辆出入信息
     *
     * @param modelDTO
     * @return
     */
    List<CarRecordVO> queryCar(CarRecordDTO modelDTO);

    List<CarRecordVO> assmbileCarRecord(List<CarRecordVO> carRecordVOList, List<CertificateUser> certificateUserList);

}
